package control;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import modelo.JuegoObservable;
import vista.GameWindow;
import vista.PanelDeAcciones;
import vista.PanelInteractivo;
import vista.PanelOpcionesCaracteristicas;
import vista.PanelOpcionesViajar;
import vista.PanelOpcionesVisitar;

public class PanelDeAccionesActionListener implements ActionListener{
	
	private GameWindow ventanaAbierta;
	private JuegoObservable juego;
	private PanelDeAcciones panelAcciones;
	
	public PanelDeAccionesActionListener (GameWindow ventana, JuegoObservable juegoIniciado,PanelDeAcciones panel){
		ventanaAbierta = ventana;
		juego = juegoIniciado;
		panelAcciones = panel;
	}
	
	@Override
	public void actionPerformed(ActionEvent e) {
		String nombreComando = e.getActionCommand();
		
		ventanaAbierta.ocultarPanelesAbiertos();
			 
		if ((nombreComando.equals("viajar" ))){
		
			PanelOpcionesViajar panel = PanelOpcionesViajar.getInstance(panelAcciones,juego, ventanaAbierta);
			panel.setVisible(true);
			ventanaAbierta.agregarAPanelesAbiertos(panel);
			ventanaAbierta.agregarPanel(panel,BorderLayout.CENTER);
		    
		    		  
		}else if  (nombreComando.equals("visitar")){
			
			 
			PanelInteractivo panelp = new PanelInteractivo();
			PanelOpcionesVisitar panel = PanelOpcionesVisitar.getInstance(panelAcciones, juego, ventanaAbierta,panelp);
		    panel.setVisible(true);
		    ventanaAbierta.agregarAPanelesAbiertos(panel);
		    ventanaAbierta.agregarAPanelesAbiertos(panelp);
		    ventanaAbierta.agregarPanel(panel,BorderLayout.LINE_START);
		    ventanaAbierta.agregarPanel(panelp,BorderLayout.CENTER);
		    
			  
		}else if (nombreComando.equals("pedir")){
			
			
			PanelInteractivo panelp = new PanelInteractivo();
			PanelOpcionesCaracteristicas panel = PanelOpcionesCaracteristicas.getInstance(panelAcciones, juego, ventanaAbierta,panelp);
			panel.setVisible(true);

		    ventanaAbierta.agregarAPanelesAbiertos(panel);
		    ventanaAbierta.agregarAPanelesAbiertos(panelp);
			ventanaAbierta.agregarPanel(panel,BorderLayout.LINE_START);
			ventanaAbierta.agregarPanel(panelp,BorderLayout.CENTER);
			
			
		}
		
	}

}
